
package com.lbs.core.shared.tables;

import java.io.Serializable;

/**
 * Clase para almacenar filtros y es capas de biajar por GWT RPC.
 * 
 * 04/Noviembre/2011
 * 
 * @author Alberto Sandoval Sotelo
 * 
 *
 */

public class LbsFilter implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 377232076611557415L;
	private String field;
	private String operator;
	private LbsAbstractValue value;
	
	/**
	 * Requerido para poder ser serializable por GWT RPC.
	 */
	LbsFilter(){}
	
	/**
	 * Constructor principal con los tres datos principales.
	 * @param field El nombre del campo que se filtrara
	 * @param operator
	 * El tipo de operador para el filtro: (==,<=,>=)
	 * @param value
	 */
	public LbsFilter(String field, String operator, Object value){
		setField(field);
		setOperator(operator);
		setValue(value);
	}

	public String getField() {
		return field;
	}

	public void setField(String field) {
		this.field = field;
	}

	public String getOperator() {
		return operator;
	}

	public void setOperator(String operator) {
		this.operator = operator;
	}

	public Object getValue() {
		return value.getValue();
	}

	public void setValue(Object v) {
		this.value=LbsAbstractValue.getInstance(v);
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return field+operator+value;
	}
	
	
}
